(deffunction test-args (?a ?b))
(test-args)
(test-args 1 2 3)
(deffunction test-args (?a ?b $?c))
(test-args 1)
(deffunction bad (?a $?b ?c))
(deffunction bad ()
   (+ ?a 1))
(deffunction bad (?a ?a))
(deffunction defgeneric ())
(deffunction + ())
(defgeneric blah)
(deffunction blah ())
(deffunction bad)
(deffunction bad (?a abc))
(deffunction weird ()
  (build "(deffunction weird ())"))
(weird)
(deffunction)
(deffunction foo (?a))
(deffunction globble () (foo))
(globble)
(deffunction globble ($?any) (foo $?any))
(globble)
(foo (+ (eval "(gensym)") 2))
(foo (instances))
(deffunction foo ()
  (+ ?a 2)
  (bind ?a 1))
(foo)
(deffunction foo ()
  (printout t "Hello world!" crlf))
(deffunction bar ()
  (foo)
  (undeffunction *))
(bar)
(list-deffunctions)
